/*
**函数信息      MoveAveFilter
**功能描述      移动平均窗
**输入参数      Wave        输入波形
                Len         波形长度
                K           窗宽度
**输出参数      none
*/
void MoveAveFilter(INT16U *Wave, INT16U Len, INT16U K)
{
    FP32 Ave;
    FP32 MoveAve[64];
    INT32U ii;
    
    //移动平均
    Ave = 0;
    for(ii = 0 ; ii < K ; ii++)
    {
        Ave += Wave[ii];     
    }
    Ave /= K;
    MoveAve[K - 1] = Ave;
    
    for(ii = K ; ii < Len ; ii++)
    {
        Ave = Ave - (Wave[ii - K] / K) + (Wave[ii] / K);
        MoveAve[ii] = Ave;
    }
    for(ii = 0 ; ii < K ; ii++)
    {
        Ave = Ave - (Wave[Len - K + ii] / K) + (Wave[ii] / K);
        MoveAve[ii] = Ave;        
    }
    
    for(ii = 0 ; ii < Len ; ii++)
    {
        Wave[ii] = (INT16U)(MoveAve[ii]);
    }    
}